Speculative execution(推测执行):一种常见于现代处理器的优化技术。CPU 会在尚未确定分支条件或数据依赖是否成立之前,先“猜测”接下来最可能执行的指令并提前运行,以提高吞吐量与性能;如果猜测正确就节省时间,猜错则回滚结果并重新执行。该技术也与某些硬件侧信道漏洞(如 Spectre)有关。
/ˈspɛkjʊlətɪv ˌɛksɪˈkjuːʃən/
Modern CPUs use speculative execution to speed up programs.
现代 CPU 使用推测执行来加速程序运行。
Although the processor discards mispredicted results, speculative execution can still leak information through cache timing side channels.
尽管处理器会丢弃预测错误的结果,推测执行仍可能通过缓存计时等侧信道泄露信息。
speculative 来自 speculate(推测、推断),本义与“基于猜测的判断”相关;execution 指“执行(指令/程序)”。合在一起字面即“基于推测的执行”,用于描述处理器“先做再说、错了再撤回”的性能优化思路。